A storage array or disk array is a data storage device that includes multiple disk drives or similar persistent storage devices. A storage array can allow a host (computer) system to store and retrieve large amounts of data in an efficient manner. A storage array also can provide redundancy to promote reliability, as in the case of a Redundant Array of Inexpensive Disks (RAID) storage array or other mirrored storage array.
In a mirrored storage array, some or all of the data that is stored on one disk drive is similarly stored on one or more other disk drives. That is, some or all of the contents of a disk drive mirror some or all of the contents of some or all of the other disk drives of the array. The set of redundantly stored data is commonly referred to as a mirror. When a host system writes data to the storage array, the storage array controller copies the data onto each disk drive in the mirror, either by simultaneously writing the data to each disk drive in the mirror or by writing the data to one or more disk drives in the mirror and then copying the data from those disk drives to other disk drives in the mirror. The process of copying data from one disk drive to another or otherwise ensuring that each disk drive in the mirror contains the same data is commonly referred to as mirroring.
To ensure that the data does not differ among disk drives in the mirror, an operation commonly referred to as synchronization can be performed. Synchronization is typically performed periodically or at some time after any event that could potentially result in some of the data differing from one disk drive in the mirror to another. For example, synchronization can be performed after a disk drive is removed and replaced, to ensure that the contents of the disk drive exactly mirror those of the other disk drives in the array. Synchronization cannot be performed during certain storage array operations that cause loss of access to disk drives in the mirror. For example, synchronization generally cannot be performed while the storage array is being updated with new software or firmware. In some instances, downloading such new software involves storing the software (or firmware) on all of the disk drives in the storage array essentially simultaneously and then rebooting them. Until the disk drives are fully rebooted, the host system cannot access the storage array, and the system controller cannot perform synchronization or other operations requiring availability of the disk drives.